﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Librerias;
//las que añado
using System.Data;

namespace eCampusWeb
{
    public partial class Agenda : System.Web.UI.Page
    {
        ENEventoAlumno androide;
        
        #region Page_Load
        /// <summary>
        /// Cargará la página 
        /// </summary>
        /// <param name="sender">Página Agenda</param>
        /// <param name="e">Evento Load</param>
        
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                ///instancio un androide que me haga el trabajo
                androide = new ENEventoAlumno();

                ///Veo a ver quien accede a la página
                int quienEs;

                if (Session["tipo"] != null)
                {
                    quienEs = Convert.ToInt32(Session["tipo"]);
                    cargaDatos(quienEs);
                }
                else
                {
                    ///Cargo los datos en consecuencia
                    cargaDatos(-1);
                }
            }
            else
            {
                lbAviso.Text = "";
            }
        }
        
        #endregion      
        #region Seleccionar un dia
        protected void Calendar2_SelectionChanged(object sender, EventArgs e)
        {
            lvEventos.DataSource = null;
            lvEventos.DataBind();
                
            ///instancio un androide que me haga el trabajo
            androide = new ENEventoAlumno();

            ///Veo a ver quien accede a la página
            int quienEs;
            quienEs = Convert.ToInt32(Session["tipo"]);
                
            //Guardo la fecha en el textbox
            string kk = Calendar2.SelectedDate.ToString();
            tbFechaConsultar.Text = kk[0].ToString() + kk[1].ToString() + kk[2].ToString() + kk[3].ToString() + kk[4].ToString() + kk[5].ToString() + kk[6].ToString() + kk[7].ToString() + kk[8].ToString() + kk[9].ToString();
            ///Cargo los datos en consecuencia
            cargaDatos(quienEs);
        }
        #endregion
        #region cargaDatos(int visitante)
        /// <summary>
        /// Rellenará todo según el visitante que tengamos
        /// </summary>
        /// <param name="visitante"></param>
        private void cargaDatos(int visitante)
        {
            DataTable DatosFrescos;
            string quienEs;
          

                ///miro que he de cargar
                switch (visitante)
                {
                    ///INVITADO
                    case -1:
                        lbAvisoArriba.Visible = true;
                        lbAvisoArriba.Text = "¡Oppss! Debe registrarse para acceder a Eventos";
                        btAñadirEvento.Visible = false;
                        Calendar2.Visible = false;
                        lbAviso.Visible = false;
                        lbEventosDeHoy.Visible = false;
                        tbFechaConsultar.Visible = false;
                        break;

                    /// Profesor
                    case 1: //No puede crear eventos
                        quienEs = Session["correo"].ToString();
                        DatosFrescos = androide.ConsultaEventosProfesorDia(quienEs, tbFechaConsultar.Text);
                        Calendar2.Visible = true;
                        lbAgenda.Text = "Agenda de " + quienEs;
                        btAñadirEvento.Visible= false;
                        lbEventosDeHoy.Text = "Tus Eventos";
                        lbEventosDeHoy.Visible = true;
                        lbAvisoArriba.Visible = false;
                        tbFechaConsultar.Visible = false;
                        if (DatosFrescos.Rows.Count != 0)
                        {

                            lvEventos.DataSource = DatosFrescos;
                            lvEventos.DataBind();
                        }
                        else
                        {
                            lbAviso.Visible = true;
                            lbAviso.Text = "¡No tienes ningún evento hoy!";
                        }
                        break;
                        

                    ///Alumno
                    case 2: ///Me cargará lo eventos del dia
                        quienEs = Session["correo"].ToString();
                        DatosFrescos = androide.ConsultaEventosAlumnoDia(quienEs, tbFechaConsultar.Text);
                        Calendar2.Visible = true;
                        lbAgenda.Text = "Agenda de " + quienEs;
                        btAñadirEvento.Visible= true;
                        lbEventosDeHoy.Text = "Tus eventos";
                        lbEventosDeHoy.Visible = true;
                        lbAvisoArriba.Visible = false;
                        tbFechaConsultar.Visible = false;
                         if (DatosFrescos.Rows.Count != 0)
                        {
                            
                            lvEventos.DataSource = DatosFrescos;
                            lvEventos.DataBind();
                        }
                        else
                            {
                                lbAviso.Visible = true;
                                lbAviso.Text = "¡No tienes ningún evento hoy!";
                            }
                        break;
                        

                    ///OTRO
                    default:
                        lbAvisoArriba.Visible = true;
                        lbAvisoArriba.Text = "¡Oppss! Debe registrarse para acceder a Eventos";
                        btAñadirEvento.Visible = false;
                        Calendar2.Visible = false;
                        lbAviso.Visible = false;
                        lbEventosDeHoy.Visible = false; 
                        break;
                
            }
        }
        #endregion

        protected void AñadirEvento_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/AgendaCrear.aspx");
        }
    }
 }
